Skip to main content

Office Hours Topics

Databases & SQL​

  • Bulk inserting into a database
  • Linking to reference tables
  • Creating tables with constraints and performance in mind
  • Null values in databases
  • Good practices for cleaning data
  • Aggregate queries
  • CTEs and subqueries
  • Complex JOINs and queries
  • ACID vs BASE transactions
  • Using external SQL files within Python scripts

psycopg2 & Database Integration​

  • psycopg2.execute_batch() vs psycopg2.execute_values()

Python Data Structures & Language Features​

  • Hashmaps and hashsets (how they work)
  • Regex basics
  • What is yield in Python and when to use it?
  • Best “stylish” programming methods in Python (e.g. comprehensions, idiomatic features)

Testing & Mocking​

  • Writing pytest tests for functions that create or delete files
  • Pytest parametrisation
  • Is there a way to mock AWS services (moto, boto3 patching, mocking S3)?
  • How testing works with boto3 (patching, mocking, moto)

Data Analysis & Tools​

  • Jupyter notebooks - best practices and use cases
  • pandas vs numpy (when to use each)
  • pandas vs SQL for filtering/cleaning data
  • pandas.DataFrame.melt() vs pivot for reshaping data
  • When to use filtering in SQL vs pandas

Visualisation​

  • matplotlib vs ggplot vs seaborn (comparison of visualisation libraries)

Logging & Documentation​

  • Logging - how and where to use it (including pipelines)
  • Using logging in pipelines (structure, placement, examples)
  • What makes a good README file?
  • What makes a good system design diagram?
  • New lines at the end of files - do they matter?

Infrastructure as Code (Terraform & Deployment)​

  • Terraform basics (states, rollbacks, config across multiple providers)
  • Terraform use cases beyond AWS/Azure (self-hosted setups like Proxmox, TrueNAS)
  • Terraform output variables
  • Terraform and state management (avoiding state errors, managing resources)
  • SSH deploy with GitHub Actions (rsync over SSH)

Machine Learning Basics​

  • PyTorch basics
  • TensorFlow basics
  • What is a Random Forest? (ML)